package com.wavehi.dao;

import com.wavehi.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * @Author WaveHi
 * @Date 3/9/2021 下午 5:10
 * @Version 1.0
 * @Contact HJBWaveHi@163.com
 * @Description 操作数据库用户表的基本操作
 */
public interface IUserMapperAnnotation {

    /**
     * 新增用户
     * @param user 需要添加的用户
     */
    Boolean insert(@Param("user") User user);

    /**
     * 根据id删除用户
     * @param id 用户的id
     */
    Boolean delete(@Param("id") Integer id);

    /**
     * 更新用户的信息
     * @param user 需要更新的用户
     */
    Boolean update(@Param("user") User user);

    /**
     * 根据用户名查询用户
     * @param username 用户的用户名
     * @return 返回null表示该用户不存在
     */
//    @Select("select u_id id, u_username username, u_password password from t_user where u_username=#{username}")
    User select(@Param("username") String username);

    /**
     * 根据id查询用户
     * @param id 用户对应的的id ID corresponding to user
     * @return  返回null表示用户不存在 Returning null indicates that the user do not exist.
     */
    User selectById(Integer id);
}
